Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(client): introduce extensible YAML config in Go #2306

Draft
wants to merge 34 commits into
base: master
Choose a base branch
from

Conversation

fortuna
Copy link
Collaborator

@fortuna fortuna commented Dec 9, 2024

This PR moves the config parsing from Typescript to Go. The new implementation supports an extensible YAML format that is backwards-compatible with the two formats we supported (legacy SS JSON and SS URL).

The migration of parsing from Typescript to Go forced the functions to be changed to async, which cascades on a number of changes up the stack all the way to main. Constructors had to be replaced with async factory functions and web components had to have async updates. I also had to hunt unhandled promise rejections at run time, since Typescript is unable to detect that.

TODO:

  • Replace Typescript tests with Go tests
  • Cleanup Endpoint code to use ExtensibleProvider now that it supports dispatching based on config type
  • Define final format

@fortuna fortuna changed the title chore(client): introduce extensible config chore(client): introduce extensible YAML config Dec 9, 2024
@fortuna fortuna changed the title chore(client): introduce extensible YAML config chore(client): introduce extensible YAML config in Go Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant